리눅스 명령어 2 :: 리눅스일반[SSISO Community]

 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분




http://blog.naver.com/wono77/140022888025






*  Putty  설정법.  (Written  by  wono77)


 


공짜이며,  간단하고  가벼운  Telnet(SSH지원)  프로그램  Putty.exe  사용법을  설명하고자  합니다.


 


1.


 



 


SSH  접속일  경우  맨위  HostName에  접속할  주소  쓰고,


SSH  라디오  버튼  클릭.


아래  Saved  Sessions에  주소  쓰고  잠시  대기.


 



2.  윈도우  스크롤  설정.  기본은  200이지만,  소스  라인이  200넘기는  때가  많으므로,


1000  정도로  설정.


 

rows와  columns은  17인치  LCD에서  35,  75  면  4개를  정확히  놓고  쓸수있음.


(윈도우  시작메뉴를  맨  오른쪽으로  옮길경우)



 


3.  쉬는중 서버와  접속이  끊겨지지  않도록,  세션  값에  10초를  의미하는  10을  넣어준다.


10초마다  서버에  접속  신호를  보냄.



 

4.  1번  그림에서  Save를  눌러  주소이름으로  저장되면  끝.
다음  접속때는  저장된  주소만  클릭해주면  됩니다.
 
 


덧글  쓰기  |  엮인글  쓰기  
이  포스트를..  



                        더보기"  name=source_sumtext>    /data14/2006/3/27/19/1-wono77.jpg@nhn@73099@nhn@1<nhn>/data14/2006/3/27/289/scroll1000-wono77.jpg@nhn@41729@nhn@1<nhn>/data14/2006/3/27/258/keep-wono77.jpg@nhn@36047@nhn@1<nhn>  *  하얀별의  프로그래밍  블로그  ^^*  텔넷  접속  프로그램  putty.exe  설정법    
                              /data14/2006/3/27/19/1-wono77.jpg@nhn@73099@nhn@1<nhn>/data14/2006/3/27/289/scroll1000-wono77.jpg@nhn@41729@nhn@1<nhn>/data14/2006/3/27/258/keep-wono77.jpg@nhn@36047@nhn@1<nhn>  *  하얀별의  프로그래밍  블로그  ^^*  텔넷  접속  프로그램  putty.exe  설정법        











2006/03/27  14:17  


리눅스일반


리눅스에서는  몇가지  중요한  명령어들을  사용하는  것이  기본이라  할  수  있습니다.  초보자에게는  좀  낯설고  처음에는  사용하기가  불편하게  느껴지겠지만  ,  일단  익혀두고  반복하여  몇번  사용해보면  때로는  윈도우  상에서  프로그램을  실행하는  것보다  훨씬  편리하다는  것을  느낄  수  있습니다.  여기서는  중요한  몇가지의  명령어를  간추려서  알아보겠습니다.  


1.파일관리

1.  cd

-  디렉토리를  변경할  때,  디렉토리를  따로  입력하지  않으면  login한  디렉토리($HOME  또는  '~'로  표시됨)로  이동합니다.

cd  .  은  현재  디렉토리이며,  cd  ..  은  상위  디렉토리입니다.  

예)  최상위  디렉토리  /  에서  상위디렉토리  root/  으로  이동할  때  :

cd  /root  (  /를  생략해도  무방  )

현  디렉토리root/에서  상위디렉토리에  있는  bin/이라는  디렉토리로  바꿀  때-  cd  ../bin,  또는  ..없이  그냥  cd  /bin으로  해도  무방합니다.




2.  ls

-  DOS의  dir과  비슷한  명령어인데,  디렉토리명  등을  출력시키며  옵션에  따라  다양한  정보와  함께  출력된다.

옵션

-a:  디렉토리  내의  모든  파일  출력

-i  :  파일의  inode와  함께  출력한다.

-l  :  파일  허용  여부,  소유자,  그룹,  크기,  날짜  등을  출력한다.

-m:  파일을  쉼표로  구분하여  가로로  출력한다.

-r  :  정렬  옵션이  선택되었을  때,  그  역순으로  출력한다.

-s  :  KB  단위의  파일  크기를  출력한다.

-t  :  최근에  만들어진  파일  순서대로  출력한다.

-x  :  파일  순서를  세로로  출력한다.

-F  :  파일의  형태와  함께  출력한다.
출력되는  파일의  형태는  '*',  '@',  '|',  '='  등이며,  이것은  각각  실행  파일,  심볼릭  링크,  FIFO  소켓을  나타낸다.

-R  :  서브  디렉토리의  내용을  포함하여  출력한다.  

-S  :  파일  크기가  큰  순서로  출력한다.  

-U  :  정렬하여  출력한다.  

-1  :  라인당  한  파일씩  출력한다.  

--help  :  도움말을  화면상에  나타낸다.  

--version  :  'ls'의  파일  버전과  함께  출력한다.  

예)  /home/babo
디렉토리  내용을  최근에  만들어진  파일  순서대로  출력-  ls  -t  /home/babo  

  

3.  cp

-  파일을  다른  파일  이름으로  또는  다른  디렉토리로  복사하는  명령어로  도스의  copy와  같은  명령어.  

옵션  

-a  :  가능한  한  원래  파일의  구조,  속성을  그대로  복사한다.  

-b  :  덮어쓰거나  지울  때  백업  파일을  만든다.  

-d  :  심볼릭  링크  파일  그대로  복사한다.  
(디폴트는  연결된  원래  파일을  복사함).  

-f  :  같은  파일명을  갖는  파일이  있을  경우,  지운  후  복사한다.  

-i  :  같은  파일명을  갖는  파일이  있을  경우,  사용자  확인후  복사한다.  

-l  :  하드  링크를  만든다.  

-p  :  원시  파일의  소유자,  그룹,  허용  여부,  시간  등을  그대로  복사한다.  

-r  :  서브  디렉토리를  포함한  모든  파일  복사한다.  

-s  :  심볼릭  링크를  만든다.  

-u  :  복사할  파일이  구  버전일  경우만  복사한다.  

-v  :  복사하기  전에  각각의  파일명을  출력한다.  

-x  :  파일  시스템이  같을  경우만  복사한다.  

-P  :  원시  파일이  존재하는  디렉토리까지  포함하여  복사한다.  

-R  :  디렉토리를  포함하여  복사한다.  

-S  :  환경  변수  SIMPLE_BACKUP_SUFFIX에  의해  지정된  백업  꼬리말로  백업  파일  생성한다.  

예)
/root  디렉토리에서  trial이라는  파일을  /maria라는  디렉토리로  복사하려고  할  때는  #cp  trial  maria를,  maria에  복사되었는지  확인해  보려면,  #  cd  maria  #  ls를  쳐보면  나온다.  

  


4.  mv

(move)  -  파일을  다른  파일  또는  디렉토리로  옮길  때  사용.  이  명령은  복사와  같으나  원본이  지워진다.  
파일의  이름을  바꿀  때도  사용할  수  있다.  

옵션

-b  :  지워지기  전에  백업본을  만든다.  

-f  :  옮겨질  디렉토리에  존재하는  파일이  있으면  덮어쓴다.  

-i  :  옮겨질  디렉토리에  존재하는  파일이  있으면  확인한다.  

-u  :  옮겨질  디렉토리에  구  버전의  파일이  있을  경우만  옮긴다.  

-v  :  옮기기  전에  파일명을  출력한다.  

예)
파일을  /maria라는  디렉토리에  옮길려면  

 
5.  rm

(remove)  -  파일을  지우는  명령으로  주의할  점은  유닉스하에서는  파일들이  지워지면  복구가  불가능하다는  것이다.  rm  파일명으로  사용한다.  

옵션  

-f  :  강제로  파일을  지울  수  있다.  

-i  :  지우기  전에  확인한다.  

-r  :  서브  디렉토리의  파일까지  지운다.  

-v  :  파일을  지우기  전에  지울  파일의  이름을  나타낸다.  

-R  :  -r과  같다.  

예)
command1.txt란  파일을  지우려면,  rm  command1.txt  
확인해  보려면,  ls를  쳐  보면  삭제  되었는지  알  수  있다.  

  


6.  mkdir

-  디렉토리를  새로  만들  때  사용.  
만약  love라는  디렉토리를  만들려면  mkdir  love를  입력하면  된다.  

옵션  

-p  :  지정된  모든  서브  디렉토리까지  함께  생성  

-m  :  mode  mode에  해당하는  사용  허가로  디렉토리를  생성한다.  

예)
/rootd에서  love라는  디렉토리를  만들려면,  mkdir  love  

  


7.  rmdir

-  디렉토리를  지울  때.  rmdir  다음에  디렉토리  이름을  입력하면  디렉토리가  지워진다.  
이  부분에서  가장  중요한  것은,  디렉토리  내부에  파일이  남아있으면  지워지지  않으므로  디렉토리를  지우기  전에  반드시  rm을  이용하여  내부  파일을  모두  지우는  것을  명심해야  한다.  

옵션  

-p  :  지우고자  하는  디렉토리의  상위  디렉토리까지  포함하여  지운다.  

예)
위에  만든  /love라는  디렉토리를  지우려면,  rmdir  love  
지워졌는지  확인해  보려면  ls를  넣으면  알  수  있다.  

 
8.  man  (  manual  )  

-  주어진  명령이나  유틸리티의  매뉴얼을  출력한다.

옵션  

-a  :  모든  manual  page를  출력  

-d  :  디버깅  정보  출력  

-f  :  whatis와  같음  

-h  :  도움말  출력  

-k  :  apropos와  같음  

-t  :  groff(troff)를  사용하여  프린트를  위한  형식으로  출력  

예)
ls  명령어의  도움말을  보고자  할  때-  man  ls  

  

  


9.more

-  주어진  파일의  내용을  한  화면씩  출력시킨다.  

옵션  

-h  :  도움말(help)  

-  SPACE  또는  -  z  :  다음  페이지  

-RETURN  또는  -  1  :  라인  스크롤  

-d  또는  -^D  :  반  페이지  스크롤  

-  q  또는  -Q  :  종료  (quit)  

-  f  :  다음  페이지  (forward)  

-  b  또는  -  ^B  :  이전  페이지  (back)  

-  /pattern  :  검색  

-  =  :  현재  라인  출력  

-  !  :  명령어  실행  

-  ^L  :  화면  다시  출력  

-  f  :  현재  파일명과  라인  출력  

예)
root/command.txt  파일을  페이지  단위로  출력시키려면  more  /root/command.txt  

 
10.  less

-  more와  비슷한  명령어로  한  페이지씩  문서를  보여준다.  문서의  앞으로도  이동이  가능하다.  

옵션  

-  ?  :  less에서  사용할  수  있는  명령들에  대한  도움말을  제공한다.  

-  a  :  마지막  라인이  화면에  출력되고  나면  검색을  시작한다.  

-  c  :  필요할  때  전체  화면은  다시  갱신한다.  

-  C  :  -c  옵션과  같지만  화면  전체를  지우고  시작한다.  

-  e  :  두번째로  파일의  끝에  도달하면  자동적으로  종료한다.  

-  E  :  파일의  끝에  도달하기만  하면  자동적으로  종료한다.  

-  i  :  대소문자를  구분하여  검색한다.  

-  n  :  행  번호를  추가한다.  

-  q  :  특정  에러가  발생하지  않으면  소리없이  동작한다.

-  Q  :  결코  아무  소리도  내지  않는다.  

-  s  :  연속되는  공백  라인은  하나의  행으로  처리한다.  

-  x  :  숫자:  수치를  지정해서  탭  간격을  조정한다.  기본값은  8  이다.  

예)
man의  내용을  한  페이지  단위로  행번호를  추가하여  출력하려면,  man  less  -n  

  

  


11.  cat

-  파일의  모든  내용을  한번에  화면에  나타나게  한다.  

예)  
practice라는  파일의  모든  내용을  화면에  출력할  때-  cat  practice

  

12.  pwd

-  현재의  디렉토리가  어디인지  알려준다.  

 
13.  echo

-  주어진  인자를  단순히  화면에  나타나게  한다.  

예)
"i  love  you"를  출력시키려면,  echo  i  love  you  
  

14.  grep

주어진  패턴을  포함하는  파일의  라인을  출력시킨다.  

옵션  

-C  :  일치하는  문장의  상하  두  라인까지  포함하여  출력한다.  

-V  :  버전과  함께  출력한다.  

-b  :  Byte  오프셋과  함께  출력한다.  

-c  :  일치하는  라인의  갯수를  출력한다.  

-h  :  파일명은  출력하지  않는다.  

-i  :  대소문자  구분하지  않는다.  

-l  :  일치하는  내용을  가지는  파일명만  출력한다.  

-n  :  일치하는  내용을  가지는  라인  번호를  출력한다.  

-s  :  에러  메시지만을  출력한다.  

-v  :  일치하지  않는  내용을  출력한다.  

-w  :  한  단어로  일치해야  출력한다.  

-x  :  전체  라인이  일치해야  출력한다.  

예)
rm이라는이름이  들어간  파일을  ls중에서  찾을  때  -  ls  |  grep  rm  
  

15.  find

-원하는  파일을  디렉토리를  탐색하면서  지정된  조건에  만족하는  파일을  찾는다.  이름이나,  크기,  날짜,  사용자등의  조건을  지정하여  찾을  수  있다.  

-name  :  찾고자  하는  파일의  이름을  정하면  된다.  

-perm  :  파일의  권한  (permission)이  일치하는  것을  찾는다.  

-user  :  사용자의  ID에  따라서  검색한다.  

-atime  :  최근  며칠내에  접속한  파일을  검색한다

-newer  :  최근에  갱신된  모든  파일을  검색한다.  

예)
maria라는  이름을  가진  파일을  찾으려면,  find  -name  maria  
 
16.  ls

-lR-현재  디렉토리와  서브  디렉토리의  이름  및  포함되어  있는  파일을  출력시킨다.  

  


17.  mount

-  cdrom이나  floppy  disk를  사용하게  만들어  준다.  

floppy  mount  :  -t  msdos  /dev/fd0  /mnt/floppy  

  

cdrom  mount  :  mount  -t  iso9660  /dev/cdrom  /mnt/cdrom  

 
18.  umount  (언마운트;  unmount)  

-  디렉토리와  연결되었던  시디롬이나  플로피  디스크를  분리시켜  주는것을  말한다.  플로피나  시디롬을  다  쓰고  나면  항상  언마운트를  시켜주어야  한다.  

  


  


19.  Mtools  

-  Mtools는  리눅  스에서  DOS로  통하는  유틸리티의  모음이다.  
모든  명령어들은  앞에  m자를  붙인뒤  DOS의  명령어와  같이쓰면  된다.  
예를  들면  mattrib,  mcd,  mcopy,  mdel,  mdir,  mformat,  mlabel,  mmd,  mrd,  mren,  mtype,  mread,  mwrite  등이  있으며,  디렉토리를  나타낼  때에는  ''가  아닌  리눅스의  명령어인;  '/'로  지정해  주어야  한다.  


20.  mcd  

-  도스  시스템으로  현재  사용하고  디렉토리를  이동한다.  

mcd  dos  디렉토리

  


21.  mcopy

-  도스  파일  시스템으로  가거나  도스상의  파일을  복사한다.  

옵션  

-  n  :  파일을  덮어  쓸  경우에도  경고하지  않는다.  
-  v  :  안내문을  자세하게  보여준다.  
-  m  :  파일  갱신  시간을  보존한다.  
22.  리디렉션  (  redirection  )  

-  리디렉션이란  어떤  명령을  실행한  후에  생기는  내용물을  사용자가  원하는  곳으로  출력하기  위해  만들어졌는데  표준  입력,  표준  출력,  에러  출력  등의  방향을을  다른  곳으로  바꾸는  것이다.  
리디렉션의  기호는  ">"이다.  보통,  ">"  을  이용하여  명령의  결과를  파일로  리디렉트시켰을  때  그  파일이  존재해  있었다면  그것을  덮어  쓴다.  ">>"를  쓰면  파일을  덧붙여  쓰게  된다.  

예)
만약  원하는  내용을  life.txt란  파일로  보내려면,  파일  생성  명령어인  cat을  친  다음,  다음  행에서  부터는  내용을  life.txt라는  곳으로  보내라는  리디렉션  기호  '>'를  친다.  
그  다음에  원하는  내용을  쳐  넣으면  된다.  그리고  엔터키를  친  다음,Ctrl+Z>를  친다.  
입력한  내용을  확인해  보려면,  $  cat  life.txt를  친  다음,  엔터키를  치면  볼  수  있다.  

  


23.  파이프라인  

-  파이프라는  것은  여러  명령을  함께  사용할  때,  한  명령의  결과가  다른  명령으로  전송되는  통로이다.  명령어를  하나  하나씩  일일이  치지  않고도  한꺼번에  여러가지를  실행할  수  있어  편리하다.  

예)  
ls화면을  한  페이지씩  출력하려면  ls  |  more  ,  중단  하려면  q를  치면  된다.  

 


Process  관리  

다음은  사용하고  있는  시스템  정보에  관련된  명령어에  대하여  살펴보도록  하겠습니다.  

1.  ps  (  process  )  

-  현재  진행중인  프로세스에  대한  정보를  출력한다.  

  

2.  pstree  (  process  tree)  

-  ps  에  의해서  출력되는  프로세스  정보를  트리  형태로  나타낸다.  

  

3.  top  

-  cpu와  메모리를  사용하는  작업들에  대한  시스템  정보를  출력한다.  
원래  화면으로  되돌아  가려면  q를  입력한다.  

  

  


4.  arch  (architecture)  

-  현재  사용하고  있는  cpu의  모델을  출력(i686-  인텔  펜티엄)  

  


5.  cal  (calendar)  

-  현재의  달을  출력해  주는데,  cal과  함께  원하는  월과  연도를  숫자를  입력하면  원하는  달  의  달력을  볼수  있다.  
-j를  입력하면  율리우스달력을  볼  수  있다.  

 
6.  clock  

-  CMOS  설정  시간을  출력하거나  변경할  수  있다.  

  


7.  date  

-  현재의  시간과  날짜를  출력한다.  

  


8.  df  (disk  free)  


-  하드의  전체  용량  및  남은  용량  볼  때  사용한다.  

옵션  

-h(human)  사람이  쉽게  알  수  있는  형태인  바이트  단위로  출력한다.  

  


9.  du  (disk  usage)  

-각각의  디렉토리와  파일들이  차지하고  있는  디스크  용량을  출력한다.  

예)  temp2  디렉토리가  차지하는  용량을  보려고  할  때,  du  temp2  

  


10.  free  (free  memory)  

-  현재  사용중인  시스템의  메모리  상태를  출력한다.  

옵션  

-m(Megabyte)  메모리의  양을  메가  바이트  단위로  출력한다.  
-k  (Kilobyte)  메모리의  양을  킬로  바이트  단위로  출력한다.  

  


11.  hostname  

-  자신의  컴퓨터에  부여되어  있는  이름을  출력한다.  

 
12.  lsdev  (list  devices)  

-  현재  시스템에  연결되어  있는  하드웨어에  관한  입출력  정보와  IRQ  값  등을  출력한다.  

  

  


13.  quota  

-  각각의  사용자들이  사용할  수  있는  디스크의  용량을  나타낸다.  

  


14.  rdev  (root  device)  

-  내부에  ramsize,  swapdev,  vidmode,  rootflag의  프로그램으로  구성되어  있다.  

  


15.  uname  (unix  name)  

-  사용중인  운영체제에  대한  정보를  출력한다.  

옵션  

-  a(all)  현재  사용중인  운영체제와  커널의  컴파일  정보  등을  출력한다.  

  


16.  su  

-  현  상태에서  다른  사용자로  다시  login한다.  만약  사용자  id를  입력하지  않으면,  root로  login  된다.  

 
17.  shutdown  

-  시스템을  종료할  때일반적으로  사용되는  명령어이다.  

옵션  

-  t  n  옵션  t  뒤에  n  초만큼  후에  경고  메시지  후에  kill  신호를  보낸다.  

-  h  (halt)  완전히  닫는다.  

-  r  (reboot)  종료후  재부팅을  한다.  

-  f  (fast)  빠른  리부팅을  한다  .(파일  시스템  검사  생략  )  

-  c  (cancel)  예약  되어  있는  종료  취소  

-  k  (kidding)  모든  것이  정상이지만,  종료  시간이  되면모든  프로그램이  멈춘다.  


18.  reboot  

-  재  부팅  시키는  것을  말한다.  

옵션  

-  q  현재의  실행프로그램을  종료하지  않고  부팅만  다시  시킨다.  


19.  kill  

-  프로세스  종료하기.  현재  실행중인  프로세스를  강제로  종료시키는데  사용  

kill  signal  ID  PID  
kill  -l  

옵션  

-2  :  실행  중인  프로세스에게  인터럽트  키  신호를  보냄  

-9  :  가장  확실하게  실행  중인  프로세스를  종료시킴  


20.  tty  

-  현재  사용하고  있는  단말기  장치의  경로명과  파일명을  보여줌  

  

21.  whereis  

-  실제  프로그램이  어떤  디렉토리에  존재하는지  관련된  모든  경로명을  보여줌  

예)  whereis  vi  

  


22.  fsck  (file  system  check)  

-  파일  시스템의  상태가  올바른지  검사하고,  잘못된  것이  있으면  바로  잡는다.  

옵션  

-  a  :  검사도중  발견된  에러를  자동적으로복구한다.  

-  r  :  검사도중  에러가  발견되면  복구  여부를  물어본다.(사실  사용되지  않는다.)  

-  s  :  순차적인  방법으로  검색한다.  

-  V  :  검색중  각종  정보를  자세  하게  보여준다.  

-  N  :  실제로  검사  작업을  하지는  않도록한다.  



 
사용자  관리  

1.  chgrp

-  파일의  그룹  소유권을  바꾼다.

옵션

-c  :  실제로  소유자가  바뀐  파일에  대해서  자세하게  설명

-f  :  소유권을  바꿀  수  없어도  에러  메시지를  나타내지  않는다.

-v  :  소유권의  이전에  대해서  자세히  기술한다.  

-R  :  디렉토리와  그  내용  파일들의  소유권을  재귀적으로  모두  바꾼다.  

*  파일의  소유자나  슈퍼  유저만이  파일의  그룹  소유권을  바꿀  권한이  있는데,  
chgrp  +  옵션  바꾸고자  하는  그룹의  이름+  디렉토리+  파일  이름  

예)  /root그룹에  있는  ak이라는  파일을  white라는  그룹으로  소유권을  이전하려면,  
chgrp  white  /root/ak  



  


2.  chmod  

-  파일의  모드를  바꿀  때  사용하는데  파일의  모드는  권한(permission)을  제어한다.  

옵션  

-c  :  실제로  파일의  권한이  바뀐  파일만  자세히  기술한다.  

-f  :  파일의  권한이  바뀔  수  없어도  에러  메시지를  출력하지  않는다.  

-v  :  변경된  권한에  대해서  자세히  기술한다.  

-R  :  디렉토리와  파일들의  권한을  재귀적으로  모두  바꾼다.  

*  r(read  읽기),  w(write  쓰기),  x(execute  실행)의  3가지  권한이  있는데,  각  단위당  2진법으로  표현된다.  따라서  읽기,  쓰기,  실행  등의  모든  권한을  주려면,  4+2+1,  따라서  합계  7이된다.  
만약  모든  그룹의  권한을  다  허용해  줄  경우,  777이  된다.  

예)  
우선  권한을  보기위해,  ls  -al을  쳐보면  wow  라는  파일이  rw-r--r--로  되어있다는  것을  알  수  있다.  
여기서,  첫  번째  3자리는  소유자,  두  번째  3자리는  그룹,  마지막  3자리는  타인에게  허용할  것인지  여부를  보여주는  것이다.  
여기서의  소유자는  읽고  쓰기가,  그룹과  타인은  읽기만  허용이  되어있다.  
모두가  사용할  수  있게  하려면  777이  된다.  

chmod  777  wow  

  

현재의  권한  

  

변환  

  


3.  chown  

-  파일의  소유권을  다른  사람에게  변경할  때  사용한다.  

옵션  

-c  :  실제로  파일의  소유권이  바뀐  파일만  자세히  기술한다.  

-f  :  파일의  소유권이  바뀔  수  없어도  에러  메시지를  출력하지  않는다.  

-v  :  변경된  소유권에  대해서  자세히  기술한다.  

-R  :  디렉토리와  파일들의  소유권을  재귀적으로  모두  바꾼다.  

파일의  소유권을  다른  사람에게로  바꾸는  것은  슈퍼  유저만이  할  수  있다.  

예)
root/에  있는  wow라는  파일을  test라는  그룹으로  소유권을  바꿀  때  
chown  test  /root/wow  
ll을  쳐서  소유권이  바뀌었는지  확인해  보면  된다.  





5.  시스템의  사용자  정보에  대한  명령어  

*  finger  


-  시스템을  사용하고  있는  사용자들의  이름과  주소등  신상  명세를  출력한다.  
변경할  때는  chfn(change  finger  name)을  사용하면  된다.  




*  id  (identification)  

-  사용자의  개인  id  와  그룹의  id  번호를  출력한다.  




*  logname  

-  로그인해  있는  사용자의  이름을  출력한다.  




*  uptime  

-  현재의  시간과  로그인  시간의  총합,  평균적인  시스템  사용  현황을  출력한다.  




*  w  (who  is  logged  on  and  what  they  are  doing)  

-  로그인  되어있는  사람과  현재  실행중인  작업의  종류를  출력한다.  




*  who  

-  시스템을  사용하고  있는  사용자들의  이름과  터미널  번호,  로그인  시간  출력한다.  




*  whoami  

-  가상  콘솔  기능을  사용하거나  여러명의  사용자로  동시에  로그인해  있을  때,  현재  시스템을  사용하고  있는  자신이  누구인가를  출력한다.




*  adduser  

-  사용자를  추가하기  위한  명령어인데  명령어  뒤에  원하는  사용자  명을  써  넣는다.  



Network

NCI에  IP주소를  설정하는  작업은  보통  X윈도우에서  합니다.  하지만  X윈도우를  사용하지  않는  경우에  네트워크을  설정하려면  명령어로  실행시키는  방법이  있습니다.  그렇게  하려면  X윈도우  상에서  설정했던  네트워크  상태가  저장되어  있는  곳으로  가서  편집하면  됩니다.  리눅스  설치  후  네트워크에  문제가  생기는  경우가  있는데  이는  대부분  네트워크  인터페이스  즉  랜카드의  문제로  인한  경우가  많습니다.  

우선  자신의  랜카드가  리눅스에서  지원하는지  확인해야  합니다.  리눅스에서는  /proc  이라는  디렉토리의  내용을  확인해야  합니다.  이  디렉토리는  커널이  사용하는  디렉토리로  시스템  정보,  하드웨어에  대한  정보,  프로세서의  정보가  저장되어  있습니다.  PCI를  갖고  있으면  다음과  같은  명령으로  그  내용을  확인하시면  됩니다.

#cat  /proc/pci  [Enter]
...  
Bus  0,  device  13,  function  0:  
Ethernet  controller  :  Hewlet  Packard  J2585A  (rev  0).  
Medium  devsel.  Fast  back-to-back  capable.  IRQ  11.  
I/0  at  0xfd00.  
Non-prefetchable  32  bit  memory  at  0xfffdc000.  
...  

만약  PCI랜카드를  사용하고  있는데도  Ethernet  controller:이  나오지  않는다면  랜카드에  문제가  있는  경우입니다.  랜카드의  이름  즉  위에서는  Hewlett  Packard  J2585A가  없는  경우에는  커널에서  랜카드를  지원하지  않으므로  커널을  업그레이드  하거나  랜카드를  다른  것으로  바꾸어  주면  됩니다.

[1]  ping  

Ping은  현재  사용하고  있는  시스템이  네트워크로  연결된  원격지  호스트를  인식하고  있는지를  테스트하여  네트워크로  연결되어  있는지의  여부와  접근할  원격지  호스트가  정상적으로  작동되고  있는지  알아봅니다.  따라서  ping의  중요한  기능은  상대편  네트웍을  테스트  할  수  있다는  것입니다.  
현재  보낸  패킷과  받은  패킷사이의  통계치를  보여주면  제대로  실행  된것입니다.

[2]ifconfig  

Interface  란  NIC(Network  Interface  Card)를  세팅하는  것입니다.여기서는  ifconfig유틸러티를  사용하여  어떻게  IP  address,  netmask,  gateway등을  설치하는지를  알보도록  하겠습니다.
우선  한텀에서  다음처럼  입력을  합니다.

ifconfig  [interface]
ifconfig  interface  [atype]  options  |  address...

옵션

up  :  interface를  활성화  시킵니다

down:  interface를  비활성화  시킵니다.

address  :  [aaa.bbb.ccc.ddd]의  모양을  가집니다.  

[3]PPP연결하기  

리눅스에서  ppp  를  연결하려면  minicom이나  seyon에서  ppp를  구동합니다.  ppp를  작동  시킨  다음  minicom이나  seyon을  서스펜드  합니다.  우선  가우나  세연을  설치하여  몇가지  설정을  해야  합니다.  종료시에는  ps명령어로  ppdd의  PID를  확인한  다음  다시  kill  명령으로  프로세스를  중단하면  됩니다.  아래의  명령어를  입력하면  설치할  수  있습니다.  

[root@honey  /root]#cd  /mnt/cdrom/RedHat/RPMS  
[root@honey  /root]#  rpm  -Uvh  gau*  :  가우를  사용할때  
[root@honey  /root]#  rpm  -Uvh  seyon  :  세연을  사용시  

이렇게  하여  설치가  끝났으면  control-panel을  이용하여  모뎀을  설정합니다.

[4]LAN  카드  설정하기  

*리눅스에서  기본  정보  파일은  /etc/sysconfig  디렉토리에  있습니다.  다음의  과정을  하나하나  실행하면서  명령어를  이용하여  네트워크를  설정해  보도록  하겠습니다.  

NETWORKING=yes  
FORWARD_IPV4=no  
HOSTNAME="honey.linux.co.kr"  
DOMAINNAME=linux.co.kr  
GATEWAY=210.127.236.254  
GATEWAYDEV=eth0  

NETWORKING부분에서는  네트워크를  활성화  할  것인지를  입력하는  부분으로  작동시키려면  YES를,  그렇지  않으면  NO  를  입력합니다.  HOSTNAME  부분에는  호스트  이름을  Primary  hostname  +  domain을  연결하여  따옴표로  묶어줍니다.  DOMAINNAME에는  도메인  이름을  적고,  GATEWAY부분에는  게이트  웨이의  IP주소를  써  넣으면  됩니다.  GATEWAYDEV에는  게이트웨이로  나갈때  사용하는  네트워크  장치명을  적으면  됩니다.  

*리눅스에서  네트워크  인터페이스  설정은  다음의  디렉토리  안에  있습니다.  

cat/etc/sysconfig/network-***s/ifcfg-eth0  
DEVICE="eth0"  
BOOTPROTO=none  
BROADCAST=210.127.236.255  
NETWORK=  .0  
NETMASK="255.255.255.0"  
IPADDR="210.127.236.93"  
USERCTL=no  
ONBOOT  =no  

DEVICE란에는  장치를  적어주고,NETWORK에는  네트워크  주소를  적어주고,  Broadcast에는  브로드캐스트  주소를  넣어주는데,  브로드케스트  주소는  255를  사용합니다.  ONBOOT는  부팅도중  자동으로  네트워크  인터페이스가  작동할  것인지의  여부를  결정하는  것이고,BOOTPROTO는  네트워크  인터페이스가  작동할  때  IP주소를  받아오는  방식을  결정하는  것입니다.  

*다음은  도메인  네임을  서버에  등록하는  절차입니다.  DNS를  사용하려면  DNS의  서버  IP주소를  등록세켜  주어야  하는데,  3개까지  가능합니다.  다음은  일반적인  resolve.conf파일입니다.  

search  honey  
nameserver  210.127.236.93  

search는  검색할  도메인  주소를  입력하면  되는데  사용자가  속한  Domain의  ID를  써  넣으면  됩니다.  nameserver는  제가  속해있는  도메인인  linix.co.kr를  관장하는  DNS서버의  IP주소를  적어  넣은  것입니다.  


 


RPM으로  패키지  관리하기

레드헷  리눅스의  사용자가  크게  증가하게  된  한가지  이유는  아마도  RPM이  아닌가  싶습니다.  

RPM(RedHat  Package  Manager)은  기존의  리눅스  배포판들보다  훨씬  편리해진  설치환경을  가지고  있었습니다.  기존의  리눅스  배포판들은  단순히  tar  포맷으로  묶여  있는  실행  파일을  복사하거나  소스  코드를  컴파일하는  방법을  사용해서  필요한  프로그램을  설치하거나  삭제하는  방법을  사용했습니다.  

그래서  시스템에는  설치된  프로그램의  수가  많아지고,  특정한  버전의  라이브러리에  프로그램이  의존할  경우,  사용자  자신이  프로그램들을  유지하고  관리하는데  많은  문제가  있었습니다.  그리고  이미  설치되어  있던  프로그램이더라도  실수로  다시  설치하면  기존의  프로그램이  생성한  파일들이  모두  삭제되는  일이  발생할  수도  있었습니다.  
또한  하나의  프로그램을  삭제하기  위해서는  그  프로그램에  관계된  프로그램과  관련  파일들을  사용자가  모두  알고  있어야만  완전히  삭제할  수  있다는  맹점을  가지고  있었습니다.  

이처럼  설치하고자  하는  프로그램을  찾는  것부터  설치하는  것  까지  어려움  투성이었습니다.  하지만  레드햇리눅스에서는  RPM패키지와  X윈도의  제어판을  이용해  쉽게  프로그램을  설치할  수  있습니다.  RPM은  레드햇  사에서  만든  패키지  관리  도구로  리눅스  시스템을  패키지  형식으로  관리할  수  있게  해주는  관리  도구입니다.  

RPM은  누구나  사용할  수  있는  개방된  패키징시스템으로  만들어져  있으며,  디스트리뷰션을  인스톨할  때는  물론,  소프트웨어를  인스톨할  때나  버전업,  uninstall  할때에도  많은  도움이  됩니다.
RPM의  특징은  특정한  기능을  가진  일련의  파일과  프로그램들을  묶어  쉽게  설치할  수  있게  해  줍니다.  

뿐만  아니라,  RPM에서는  각  패키지가  어떤  이름의  파일을  어느  디렉토리에  인스톨하였는지,  그  패키지를  이용하기  위해서는  어떤  파일이  필요한지에  대한  정보를  관리하고  있습니다.  예를  들면  다른  패키지가  이용하는  라이브러리를  가진  패키지를  언인스톨할  수  없습니다.  

1.  RPM  파일명  분석하기  

RPM  패키지  파일에는  파일이름이  '.src.rpm  '으로  끝나는  소스패키지와  '.i386.rpm'이나  '.noarch.rpm'  등으로  끝나는  바이너리  패키지로  구별할  수  있습니다.  소스  패키지는  프로그램  소스파일  등이  포함된  패키지로,  바이너리  패키지를  작성하기  위해  사용합니다.  한편,  바이너리  패키지에는  컴파일,  링크  완료  실행파일이  포함되어  있어,  이것을  인스톨하면  일일이  소스파일을  컴파일하지  않고,  소프트웨어를  실행할  수  있습니다.  

RPM  파일은  크게  4개의  부분으로  이루어져  있습니다.  먼저  (패키지이름),  (패키지버전),  (배포판에서  가지는  자체  버전),  (설치될  시스템)이  RPM  앞에  붙여지게  되어  있습니다.  
다음의  RPM파일명을  분석해  보도록  하겠습니다.  

myth-1.2.3-4.i386.rpm  

RPM  패키지  이름에서  -  는  각  필드를  구분하는  것입니다.  
우선,  맨  앞부분의  myth  는  패키지의  명칭으로  가장  기본적인  것입니다.  
패키지이름은  인스톨  후  조회나  언인스톨할  때  사용되는  이름입니다.  패키지  명칭에서  -  는  각  필드를  구분하려는  것으로,  이를  없애면  안됩니다.  
두번째  1.2.3  은  패키지의  버전입니다.  이것은  프로그램  버전과  일치하는  것입니다.  
세번째  의  4  는  패키지의  릴리즈  번호입니다.  
즉  배포판에서  가지는  자체  버전으로,  이  패키지가  몇번째로  만들어진  것인지를  나타냅니다.  똑같은  프로그램으로  버전이  같다고  해도  이전에  만든  패키지를  다시  재  패키징을  하였다면,  뭔가  변화가  있고  릴리즈  번호를  올리게  됩니다.  
네번째의  i386  은  어떤  시스템에서  쓰이는것인지를  나타내는  것입니다.  
i386  이라면  당연히  PC  계열을  나타내는  것이고  sparc  이라면  스팍  리눅스용,  alpha  라면  알파  리눅스용일것입니다.  (현재  레드햇은  이  세개의  시스템용으로  나옵니다.)  이  네번째  필드가  src  라고  적힌것이  있는데  그것은  소스  RPM  입니다.  바이너리  패키지를  만들기  위해  필요한것입니다.  
마지막의  rpm은  소위  말하는  확장자입니다.  RPM  패키지라는것을  나타내  줍니다.  
버전번호와  릴리즈번호가  독립되어  있으므로,  새로운  패키지가  나왔을  때도  소프트웨어  자체가  버전업된  것인지  아니면  패키지  구성만  변한  것인지  파일명으로  알  수  있습니다.  
또  버전번호나  릴리즈번호에는  숫자  이외에  문자를  포함해도  됩니다.  

2.  RPM  명령으로  설치하기  

1.  파일  설치하기  
RPM  패키지의  설치와  제거는  아주  간단합니다.  보통  다음과  같은  식을  입력하면  설치가  됩니다.  

rpm  -i  (rpm패키지파일이름)  

위와  같은  방식을  응용하여,  설치되는  모습을  확인하고자  할  때는  다음과  같은  명령어를  이용하면  됩니다.  

rpm  -ivh  (rpm패키지파일이름)  

이와  같이  입력하면,  설치  되는  모습이  화면상에  #  마크로  표시  될것입니다.  
하지만,  RPM  으로  패키지를  설치할  때는  사실  위의  명령보다는  -Uvh  옵션을  사용하는  습관을  익히는것이  좋습니다.  

rpm  -Uvh  (rpm패키지파일이름)

이  명령을  사용한다면,  rpm은  이  패키지의  이전  버전이  설치  되었는지를  보고,  이미  설치가  되어  있다면  업그레이드를  할  것입니다.
그냥  -i  또는  -ivh로  설치한다면  이전  버전의  같은  패키지에  대한  정보는  사라지지  않을  것이고,  또한  이전의  설정파일도  백업되지  않습니다.  따라서,  되도록  rpm  -  Uvh를  사용할  것을  권장합니다.  

2.  설치  위치  알아보기  
설치를  한  후,  파일들이  어느  디렉토리에  있는지  알아야  한다거나,  혹은  자신의  컴퓨터에  현재  어떠한  프로그램이  설치되어  있는지  알고  싶다면  다음과  같은  명령을  사용하면  됩니다.  

rpm  -qa  |  more  

'-q'  옵션은  그  파일에  대한  정보를  알아내기위한  옵션이고,  'a'  옵션은  모든  파일에  대해  적용하라는  의미입니다.  이  명령을  수행하면  자신의  컴퓨터에  설치되어  있는  모든  프로그램의  목록이  페이지  단위로  나열되어  나옵니다.  


3.  간략한  정보  보기  

하나의  패키지에  대한  간략한  정보를  알아보려면  다음과  같이  입력하면  됩니다.  이렇게  하면,  패키지에  대한  설명이  나타납니다.  

rpm  -qi  (rpm패키지파일이름)  


4.  파일  정보  보기  

텍스트가  길게  표시되는데  파일명과  버전번호,  패키징한  사람,  프로그램에  대한  설명  등이  나옵니다.  이번에는  이  프로그램의  파일에  대한  상세한  정보를  알아보기  위해  다음과  같이  입력해  봅시다.  

rpm  -ql  (rpm패키지파일이름)  

그러면  이  패키지에  포함된  파일들이  어떠한  것이  있는지  내용을  자세하게  보여줄  것입니다.  


5.  프로그램  제거하기  

파일에  대한  권한과  어느  디렉토리에  있는지에  대한  정보가  포함됩니다.  마지막으로  설치한  프로그램을  제거해  보겠습니다.  

rpm  -e  (rpm패키지  이름)  

위와  같이  입력하면  쉽게  제거됩니다.  물론  프로그램을  제거할  때는  패키지의  의존성에  주의해서  신중히  생각한  후  행동에  옮겨야  할  것입니다.  
위에서  사용된  명령어  외의  명령어를  설명하자면  다음과  같습니다.  

rpm  -qf  (rpm파일이름)  특정한  파일이  포함되어  있는  패키지를  확인해  볼  때  
rpm  -V  (rpm패키지  이름)  시스템에  설치된  패키지를  검증할  때  
rpm  -Va  시스템에  설치된  패키지들을  모두  검증할  때  
(실수로  몇  가지  파일들을  지웠는데,  어느  것을  지웠는지  확신할  수  없다.  전체  시스템을  점검해  보고  어떠한  파일이  빠져  있는지  살필수가  있다.)  
rpm  -Vp  (rpm패키지파일이름)  시스템에  설치할  때  사용한  RPM  파일을  이용해서  해당  패키지를  검증할  때  

*  *  위의  과정  외에  rpm  실행모드에  관한  명령어는  다음과  같습니다  

rpm  --help  도움말을  출력하고자  할  때  
rpm--showrc  설정사항을  출력하고자  할  때  
rpm--version  버전을  출력하고자  할  때  

*  *  그외  몇가지  부수적인  옵션이  있는데  여기서  설명하도록  하겠습니다.  
이  부수적인  옵션들은  설치  또는  업그레이드  또는  제거  옵션뒤에  붙이게  됩니다.  
(제거  옵션에서는  --nodeps  ,  --no***s  ,  --test  만을  사용합니다.)  

예)  rpm  -e  --nodeps  (삭제할패키지이름)  

--nodeps  :  의존성을  무시하고  설치한다.
가장  많이  겪게  되는  문제로  RPM  에서는  어떠한  패키지가  깔려  있지  않으면,  그것에  영향을  받는  패키지는  설치하지  못하는  경우가  있다.  
이  때  사용하는것이  --nodeps  이다.  

--force  :  강제로  설치  하는  것이다.  
패키지  설치시  현재  패키지에  포함된  파일이  이미  다른  패키지에  의해  설치  되어  있을때,  이들이  충돌을  할  경우  에러가  발생한다.  하지만,  이  옵션으로  설치가  가능하다.  이  옵션은  이미  있는  파일은  덮어  쓰지  않는다.  이미  있는  파일마저  덮어  쓰려면  --replcaefiles를  사용하면  된다.  

--oldpackage  :  만약  업그레이  할  패키지가  이미  설치되어  있는  패키지보다  오래된  버전일  경우에는  업그레이드를  진행시킬  수  없다.  그래도  불가피하게  설치를  진행시켜야  할  경우,  이옵션을  이용하여  강제로  설치할  수  있다.

--percent  :  패키지  파일을  설치하는것을  퍼센트로  표시해준다.  

--replacepkgs  :  이미  같은  패키지가  설치되  있더라도  다시  설치한다.  

--replacefiles  :  이미  설치된  다른  패키지의  파일을  덮어  쓰면서라도  설치한다.  

--root  :  디렉토리  와  디렉토리를  마치  /  처럼  생각하고  설치를  한다.  
즉  "--root  /tmp"  라고  한다면  /tmp  가  /  인  것으로  생각하고  그  이하로  설치하게  될것이다.  한가지  문제가  있다면  이  명령을  사용하면  RPM  정보를  기록하는  파일을  지정한  디렉토리  및  에서  찾게  된다.  

--test  :  패키지를  실제로  설치하지는  않고  충돌이나  의존성  문제가  있는지만을  검사한다.  

--no***s  :  스크립트를  실행하지  않는다.  
(레드햇  패키지에는  4개의  스크립트가  들어간다.  설치  전후,  제거  전후  이렇게  4개이다.)  

--excludedocs  :  문서  파일은  설치  하지  않는다



덧글  쓰기  |  엮인글  쓰기  
이  포스트를..  



                              조아  [본문스크랩]  리눅스  명령어    
                                조아  [본문스크랩]  리눅스  명령어        
[1]
등록일:2006-05-22 23:05:39 (0%)
작성자:
제목:리눅스 명령어 2





텔넷  접속  프로그램  putty.exe  설정법  |  linux  














[본문스크랩]  ftp  사용법  |  linux  
2006/03/25  21:03  



http://blog.naver.com/wono77/140022845584



  카페  >  neloi  CCNA  Solr..  /  neloi님
  http://cafe.naver.com/neloi/48  


누구블로그에서  퍼왔는지  까먹었다...ㅜ.ㅜ  지송


1.  ProFTP  소개  및  다운로드  

(1).  ProFTP  소개  

FTP  란  File  Transfer  Protocol  의  약자로서  파일  전송  규약을  말한다.  ProFTP  서버는  예전에  사용하던  Wu_FTP  보다  환경설정파일이  하나로  되어  관리하기가  편해지고  보안  및  버그  또한  패치를  하여  요즘  많이  사용하고  있는  FTP  서버중  하나이다.  

(2).  ProFTP  다운로드  

ProFTP  서버를  구할  수  있는  곳은  ProFTP  웹  사이트(http://www.proftpd.net)  에서  최신  버전의  ProFTP  서버를  다운로드  할  수  있다.  



2.  ProFTP  설치  

(1)  압축된  파일  풀기  

먼저  다운로드한  파일을  /usr/local/src  밑으로  복사하기  바란다.  위에서  소개한  ProFTP  웹사이트에서  받았다면  *.tar.gz  형식의  파일일  것이므로  tar를  이용하여  압축을  풀면  된다.  



(가)  압축된  파일이  *.tar.gz  또는  *.tar.Z  파일  압축  풀기  

#  tar  -xvzf  proftpd-1.2.xxx.tar.gz  

(나)  압축을  풀면  proftpd-1.2.xxx  라는  디렉토리가  생성된다.  이  디렉토리를  proftpd  라는  이름으로  바꾸어  준다.  

#  mv  proftpd-1.2.xxx  proftpd  

압축을  풀었다면  /usr/local/src/proftpd  에  README  와  INSTALL  파일이  존재하므로  참고하기  바란다.  README  와  INSTALL을  강조하는  이유는  대부분의  배포되는  설치  파일들은  이  두  개의  파일을  포함하고  있으므로  잘  읽어보고  따라하면  되기  때문이다.  



(2)  컴파일  하기  전에  configure  파일  실행하기  

압축을  잘  풀었다면  /usr/local/src/proftpd  에  configure  파일이  있을  것이다.  이  파일을  실행하면  Makefile  이  생성된다.  configure  실행은  설치할  디렉토리를  지정하도록  다음과  같이  하면  되겠다.  

#  ./configure  --prefix=/usr/local/proftpd  

위와  같은  명령을  주면  make  install  시에  /usr/local/proftpd  디렉토리에  설치하게  된다.  


(3)  ProFTP  서버  컴파일  

위에서  configure  파일을  실행해서  Makefile을  만들었을  것이다.  그럼  컴파일을  해보자.  

#  make  

(4)  ProFTP  서버  설치  

위  과정을  에러  없이  마쳤다면  설치과정으로  들어가도록  하겠다.  현재위치(/usr/local/src/proftpd)에서  다음과  같은  명령을  실행하도록  한다.  

#  make  install  

이렇게  하면  ProFTP  서버의  설치과정이  끝나게  된다.  여기서  다룬  설치과정은  ProFTP  웹사이트로부터  받은  소스파일을  가지고  수동으로  설치하는  방법을  다루었다.  레드햇  리눅스  6.0  이상의  사용자라면  기본으로  ProFTP  가  설치되었을  것이므로  업그레이드나  수동으로  재설치시에  참고하면  되겠다.  


3.  proftp  환경  파일  설정  (  proftpd.conf  )  

/etc/proftpd.conf  설정파일을  알아보자.  

ServerName  "SAGELINUX  FTP  SERVER"  

-  ServerName  은  사용자가  FTP  서버에  접속했을  때  이  FTP  서버의  이름이  무엇인지  출력해준다.  

ServerType  standalone  

#  ServerType  inetd  

-  ServerType  은  ProFTP  서버를  실행시키는  방법이다.  standalone  은  보통  응용프로그램을  실행하듯이  직접  proftpd  를  실행하는  방법이고,  inetd  은  inetd  슈퍼  서버에  의해  실행되는  방법을  말한다.  


DefaultServer  on  

-  DefaultServer  는  FTP  서버의  primary  IP  address  또는  가상  호스트  설정  블록에서  설정된  IP  address  가  아닌  IP  address  로부터  연결이  있을  때  기본으로  사용되어질  서버  설정을  해준다.  이와  같이  알려지지  않은  연결이  있을  때는  "no  server  available  to  service  your  request"  라는  내용을  보여주며  연결이  끊어지게  될  것이다.  

DefaultRoot  /  또는  ~/  

-  DefaultRoot  는  FTP  서버에  일반  계정으로  접속한  사용자에게  최상위  디렉토리를  지정해주는  것이다.  DefaultRoot  를  /  로  설정하면  사용자가  FTP  서버에  접속했을  때  /  디렉토리까지  접근  가능하며,  ~/  로  설정하면  일반  계정의  홈디렉토리가  최상위  디렉토리까지  접근  가능하게  될  것이다.  

Port  21  

-  Port  는  ProFTP  서버가  standalone  모드로  동작할  때  사용자가  FTP  와  연결할  통로를  정해주는  것이다.  보통  FTP  서버의  경우는  21  번  Port를  사용한다.  참고로  inetd  모드로  동작을  원하고자  한다면  이  부분을  주석으로  하고  Port  번호를  /etc/services  파일에  설정해  주어야  할  것이다.  


Umask  022  

-  Umask  는  새로  만들어지는  파일과  디렉토리에  적용될  마스크를  지정한다.  

MaxInstances  30  

-  MaxInstances  는  ProFTP  서버가  standalone  mode  일  때  최대  접속가능한  사용자  수를  지정한다.  ProFTP  서버가  inetd  mode  일  경우에는  아무런  효과가  없으므로  주석으로  해주면  될  것이다.  


User  nobody  

Group  nobody  

-  User  와  Group  은  ProFTP  서버  실행시에  생성되는  프로세스의  User  와  Group을  지정해준다.  혹시라도  이  부분이  슈퍼유저로  되어  있다면  매우  위험하므로  User  와  Group을  nobody  로  반듯이  해주기를  권한다.  위와  같이  설정하였다면  서버  설정이  끝나고  proftpd를  실행시킨  후에  ps  명령으로  확인하기  바란다.  



...........................  



-  .....  는  명시한  디렉토리에  대해  옵션을  정의해  준다.  위의  예는  /(루트)  아래의  모든  디렉토리에  대한  옵션을  정의해  줄  수  있다.  



AllowOverwrite  on  



-  AllowOverwrite  는  사용자가  FTP  서버에  접속하여  새로  전송하려고  하는  파일이  기존에  있는  파일이  있을  때  어떻게  할  것인가에  대한  설정이다.  AllowOverwrite  가  on  이면  Overwrite를  허락하는  것이고  off  이면  Overwrite를  허락하지  않는  것이다.  


.......  



...........................  



-  위의  설정은  FTP  서버  접속시에  익명의  사용자  anonymous  로  접속하여  이용할  수  있는  디렉토리에  대한  옵션을  설정할  수  있게  한다.  디렉토리명의  표현은  /home/ftp  나  ~ftp  같은  형식으로  하면  된다.  그리고  지금부터  이후에  소개되는  것에  대해서는  .......  안에  사용되는  설정이다.  


User  ftp  

Group  ftp  

-  .......에서  사용되는  User  와  Group  은  ProFTP  서버에  사용자가  anonymous  로  접속할  때  디렉토리에  대한  User  와  Group을  지정해준다.  이렇게  되면  디렉토리에  대한  실제적인  권한은  ftp  user  가  가지게  되는  것이다.  


RequireValidShell  off  

-  RequireValidShell  은  /etc/shells  파일에  정의되지  않는  shell을  사용하는  유저에게  FTP  접속을  허락하거나  거절하는  것에  대한  지정이다.  기본적으로  ProFTP  서버에서는  on  상태이므로  /etc/shells  에  user  들이  사용하는  shell  이  없으면  login을  할  수  없게  된다.  그러므로  anonymous  user  로  접속을  하고자  한다면  RequireValidShell을  off  로  해주어야  login  할  수  있을  것이다.  


UserAlias  anonymous  ftp  

-  사용자가  FTP  서버에  접속할  때  anonymous  user  로  접속하면  ftp  user  로  접근하게  하는  지정이다.  그러니까  ftp  user로  FTP  서버에  접속하여  이용하는  것이  된다.  

MaxClients  10  "message"  

-  MaxClients  는  anonymous  user  로  접속할  때  client  들이  최대로  접속할  수  있는  수를  설정한다.  그리고  anonymous  user  로  접속할  수  있는  수를  제한하지  않으려면  none  이라는  설정을  해주면  된다.  또한,  최대  이용자수  뒤에  message를  적어주면  접속할  수  있는  수를  넘을  때  user  와  password를  입력한  후  연결이  끊어지게  되는데,  이  때  사용자에게  message를  보여  줄  수  있는  방법이다.  


DisplayLogin  welcome.msg  

-  DisplayLogin  는  사용자가  anonymous  user  로  접속했을  때  보여줄  메시지가  들어있는  text  file을  지정하는  것이다.  파일은  상대  경로나  절대  경로를  지정할  수  있으며,  상대경로로  지정할  경우  user  가  접속했을  때  처음  디렉토리를  기준으로  찾게  된다.  일반  user  의  경우에는  user  의  홈디렉토리가  기준이  되며,  user  의  홈디렉토리에  지정한  파일이  있으면  접속시에  메시지가  보일  것이다.  만약,  file  이  없다고  하더라도  에러는  발생하지  않는다.  

DisplayFirstChdir  .message  

-  DisplayFirstChdir  은  client  사용자가  FTP  서버에  접속하여  chdir(cd)  명령을  이용해  처음으로  다른  디렉토리로  접근할  때  접근한  디렉토리에  .message  file  이  있으면  file  의  내용을  보여주게  된다.  이  파일의  내용은  FTP  서버에  접속하여  디렉토리에  처음  접근할  때에만  보여준다.  


.......  



DenyAll  



-  Limit  은  command  부분에  하나  또는  둘  이상의  FTP  명령어들을  사용하는데  제한을  하기  위하여  사용된다.  Limit  이  설정되면  이후  설정에  영향을  주게  되며,  뒤에  설정한  이  나올  때  까지  모든  와  에  적용된  설정들을  제한하게  된다.  그리고  block  의  command  의  숫자는  제한이  없다.  command  는  어떤  사용  가능한  FTP  명령도  되지만,  보통은  다음  중  하나를  사용한다.  FTP  명령에는  CWD,  MKD,  RNFR,  RNTO,  DELE,  RETR,  STOR  등이  있으며,  CWD(Change  Work  Directory)  명령은  디렉토리를  변경하는  명령이고,  MKD(Make  Directory)  명령은  새로운  디렉토리를  만드는  명령이고,  RNFR  (ReName  From)  과  RNTO(ReName  To)는  디렉토리의  이름을  바꾸는  명령이고,  DELE(DELEte)  명령은  파일을  삭제하는  명령이고,  RMD(ReMove  Directory)는  디렉토리를  삭제하는  명령이고,  RETR(RETRieve)  명령은  서버에서  클라이언트로  파일을  전송하는  명령이고,  STOR(STORe)  명령은  클라이언트가  서버로  파일을  전송하는  명령이다.  이와  같이  개별적인  명령을  다음과  같이  명령어  그룹으로  사용할  수도  있다.  명령어  그룹에는  READ,  WRITE,  DIRS,  ALL  이  있으며,  READ는  RETR  이나  STAT  과  같은  파일  읽기와  관련된  모든  FTP  명령을  포함하지만,  디렉토리  목록은  포함되지  않고,  WRITE  는  MKD  와  RMD  과  같은  파일  또는  디렉토리  쓰기,  생성,  삭제와  관련된  FTP  명령을  포함하고,  DIRS는  LIST  와  NLST  과  같은  디렉토리  목록관  관련된  FTP  명령을  포함하며,  ALL  은  모든  FTP  명령에  대한  제한을  적용할  수  있다.  마지막으로  다음과  같은  특수  명령을  사용할  수도  있다.  LOGIN  은  사용자가  FTP  서버에  연결이나  login을  할  때  의사명령에  Limit을  적용해서  문맥에  연결  또는  login  초기화의  허용  또는  제한에  사용할  수  있다.  Limit  명령어  제한이  파일과  디렉토리에  접근  권한을  변경시키는  것은  아니고  Limit  가  어떤  디렉토리에서  명령어를  제한하도록  사용되는  동안,  기본  운영체제  파일  시스템에  상속되는  파일의  권한은  아무런  변화가  없다.  

CWD  :  디렉토리를  변경할  경우  MKD  :  새로운  디렉토리를  만들  경우  

RNFR,RNTO  :  디렉토리의  이름을  바꿀  경우  DELE  :  파일을  삭제할  경우  

RMD  :  디렉토리를  삭제할  경우  RETR  :  서버에서  클라이어트로  파일을  전송할  경우  

STOR  :  클라이언트에서  서버로  파일을  전송할  경우  READ  :  파일  읽기와  관련된  모든  FTP  명령  

DIRS  :  디렉토리  목록과  관련된  모든  명령  LOGIN  :  서버에  연결하거나  로그인을  제한할  경우  

WRITE  :  파일  또는  디렉토리  쓰기,  생성,삭제와  관련된  FTP  명령  ALL  :  모든  FTP  명령  

예)  .......  


………………………  ①  

.............  

………………………  ②  

AllowAll  



………………………  ③  

DenyAll  



………………………  ④  

………………………  ⑤  

AllowAll  







위의  설정을  보면  ①  은  ftp  user  의  홈디렉토리에  대하여  anonymous  로  FTP  에  접속할  때  어떠한  제한을  할  것인가  하는  설정이고,  ②  는  FTP  서버에  anonymous  user  로  LOGIN을  허락하겠다는  설정이고,  ③  은  anonymous  user  로  FTP  서버에  접속하여  쓰기를  제한하는  설정이고,  ④  는  ftp  user  의  홈디렉토리의  incoming  디렉토리에  대하여  어떠한  제한을  할  것인가  하는  설정이고,  ⑤  는  anonymous  user  로  FTP  서버에  접속하여  incoming  디렉토리에  저장기능과  디렉토리를  만들  수  있는  기능을  허락하는  것이다.  이렇게  예를  들어  설명하니  조금  이해하기  쉬울  것이라고  필자는  생각이  든다.  이렇게  하여  ProFTP  환경설정  파일을  살펴보았다.  물론  여기에  소개된  내용이  전부는  아니다.  더  많은  기능이  존재하고  어떻게  관리자가  설정하느냐에  따라서  달라질  것이다.  그럼,  다음으로  넘어가자.  


4.  ProFTP  데몬  실행  및  종료  

(1)  ProFTP  데몬  실행  

데몬  실행방법은  /usr/local/proftpd  디렉토리로  이동하여  sbin  디렉토리의  proftpd  를  실행하면  된다.  데몬  실행을  하고  난후  에러가  없다면  ps  명령으로  ProFTP  데몬의  상태를  알아볼  수  있다.  

#  sbin/proftpd  (  pwd  :  /usr/local/proftpd  )  


(2)  ProFTP  데몬  재시작  및  종료  

만약  proftpd.conf  파일을  수정하여  ProFTP  데몬을  재시작  하고  싶다면  ps  명령으로  ProFTP  데몬의  PID를  알아낸  다음  "kill  -HUP  PID"  명령을  내려  주면  수정한  환경설정을  추가해  줄  수  있을  것이다.  ProFTP  데몬  종료는  "kill  -TERM  PID"  명령을  내려주면  종료시킬  수  있을  것이다.  

※  일반  계정을  anonymous로  사용하기.  

mp3라는  계정을  anonymous로  사용  


1.  adduser  mp3  로  mp3라는  user를  만듭니다.  

2.  vi  /etc/passwd  로  mp3  user의  shell  부분(/bin/bash)을  /dev/null  로  바꾼다.  (물론  /etc/shells  에  /dev/null  이  있어야  한다.)  

3.  proftpd.conf에  설정한다.  



AnonRequirePassword  off  

User  mp3  

Group  mp3  

RequireValidShell  off  





AllowAll  








4.  standalone  의  경우  /etc/rc.d/init.d/proftpd  restart  를  inetd의  경우  killall  -HUP  inetd  를  실행하여  proftpd를  다시  구동한다.  

5.  Anonymous  가  접속할  때  보여주는  .welcome.msg  파일도  만들어  주자.  

----------~HOME/mp3/.welcome.msg  ----------------------  

환영합니다......  

ProFTPd  Alzza  Linux  6.0  2.2.12(안정)  

ftp://%L/  

o  남은  용량  :  %F  KB  

o  현  사용자  수  :  %N/%M  (하나의  호스트당  1명까지  접속  허가합니다)  

o  %R의  %u(%U)님이  접속한  현  시각은  %T년입니다.  

Admin-mailto:%E  

-----------end  --------------------------------------------  

위의  결과는  

-----------------------------------------------------------  

환영합니다......  

ProFTPd  Alzza  Linux  6.0  2.2.12(안정)  

ftp://ftp.linux.ac.kr/  

o  남은  용량  :  302868  KB  

o  현  사용자  수  :  2/10  (호스트당  1회  접속만  허가합니다)  

o  192.168.12.5의  UNKNOWN(anonymous)님이  접속한  현  시각은  Tue  Sep  14  22:05:36  1999년입니다.  

Admin-mailto:ftp@linux.ac.kr  

-----------------------------------------------------------  

1.2.pre6  버전을  제외한  그  이상의  버전은  "%F  KB"  대신  "%f"로  기입하면  Mb로  출력됩니다.


 


 


 


ALL  :  모든  FTP  명령  


 


ascii  :  전송모드를  ASCII모드로  설정한다.(ascii또는  as)  

binary  :  전송모드를  BINARY모드로  설정한다.(  binary또는  bi)  

bell  :  명령어  완료시에  벨소리를  나게한다.(bell)  

bye  :  ftp접속을  종료하고  빠져나간다.(bye)  

cd  :  remote시스템의  디렉토리를  변경한다.(cd  디렉토리명)  

cdup  :  remote시스템에서  한단계  상위디렉토리로  이동한다.(cdup)  

chmod  :  remote시스템의  파일퍼미션을  변경한다.(chmod  755  index.html)  

close  :  ftp접속을  종료한다.  (close)  


 


CWD  :  디렉토리를  변경할  경우

delete  :  remote시스템의  파일을  삭제한다.(delete  index.old)  

dir  :  remote시스템의  디렉토리  내용을  디스플레이한다.(dir)  


DIRS  :  디렉토리  목록과  관련된  모든  명령  

disconnect  :  ftp접속을  종료한다.(disconnect)  

exit  :  ftp접속을  종료하고  빠져나간다.(exit)  

get  :  지정된  파일하나를  가져온다.(get  index.html)  

hash  :  파일전송  도중에  "#"표시를  하여  전송중임을  나타낸다.(hash)  

help  :  ftp명령어  도움말을  볼  수  있다.(help또는  help  명령어)  

lcd  :  local시스템의  디렉토리를  변경한다.(lcd  디렉토리명)  

ls  :  remote시스템의  디렉토리  내용을  디스플레이한다.  (ls  또는  ls  -l)  


 


LOGIN  :  서버에  연결하거나  로그인을  제한할  경우  

mdelete  :  여러개의  파일을  한꺼번에  지울  때  사용한다.(  mdelete  *.old)  

mget  :  여러개의  파일을  한꺼번에  가져오려할  때  사용한다.  (  mget  *.gz)  


MKD  :  새로운  디렉토리를  만들  경우  



m [본문링크] 리눅스 명령어 2 [1] 
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=534
작성자
비밀번호

 


SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.